package com.ruoyi.xuexiao.domain.param;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class KsJbxxhzRequestBodyParam {

    private static final long serialVersionUID = -61882995063648198L;
    /**
     * 记录id
     */
    @TableField(exist = false)
    private Integer chillId;
    /**
     * 自增id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 许可证号
     */
    @NotBlank(message = "许可证号 不能为null")
    private String xkzh;
    /**
     * 矿山名称
     */
    @NotBlank(message = "矿山名称 不能为null")
    private String ksmc;
    /**
     * 矿山中心点坐标X
     */
    private BigDecimal lon;
    /**
     * 矿山中心点坐标Y
     */
    private BigDecimal lat;
    /**
     * 矿权类型
     */
    @ApiModelProperty(value = "1代表采矿权 2代表探矿权 3集中开采区")
    private Integer kqlx;
    /**
     * 期数
     */
    @TableField(exist = false)
    private Long qishu = 0L;
    /**
     * 区域坐标(拐点坐标)
     */
    private String qyzb;
    /**
     * 矿区面积
     */
    private Double kqmj;
    /**
     * 地址
     */
    private String dz;
    /**
     * 所在行政区
     */
    @NotBlank(message = "所在行政区 不能为null")
    private String szxzq;
    /**
     * 行政区名称
     */
    private String szxzqmc;
    /**
     * 有效期起
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private String yxqq;
    /**
     * 有效期止
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private String yxqz;
    /**
     * 有效期限
     */
    private String yxqx;
    /**
     * 采深上限
     */
    private Double cssx;
    /**
     * 采深下限
     */
    private Double csxx;
    /**
     * 矿业权人
     */
    @NotBlank(message = "矿业权人 不能为null")
    private String kyqr;
    /**
     * 开采方式
     */
    @NotBlank(message = "开采方式 不能为null")
    private String kcfs;
    /**
     * 经济类型
     */
    @NotNull(message = "经济类型 不能为null")
    private Integer jjlx;
    /**
     * 矿种
     */
    private Long kz;
    /**
     * 矿种名称
     * 注意：此字段不对应数据库中的任何列，用于特定业务逻辑处理。
     */
    @TableField(exist = false)
    private String kzmc;
    /**
     * 生产状态
     */
    private String sczt;
    /**
     * 生产规模
     */
    private String scgm;
    /**
     * 矿山中心点高程
     */
    @NotNull(message = "矿山中心点高程 不能为null")
    private Integer alt;
    /**
     * 是否抵押
     */
    @ApiModelProperty(value = "0否 1是")
    private Integer sfdy;
    /**
     * 是否查封
     */
    @ApiModelProperty(value = "0否 1是")
    private Integer sfcf;
    /**
     * 矿山分类
     */
    @ApiModelProperty(value = "0正常 1可以办理行政许可 2公告废止 3关闭决定 4其他 5持证矿山 6历史遗留")
    @NotNull(message = "矿山分类 不能为空")
    private Integer ksfl;
    /**
     * 矿种类型
     */
    @ApiModelProperty(value = "1固体矿山 2液体矿山")
    private Integer kzlx;
    /**
     * 专项核查
     */
    @ApiModelProperty(value = "0否 1是")
    private Integer zxhc;
    /**
     * 挂载状态
     */
    @TableField(exist = false)
    private String gstate;
    /**
     * 期数
     */
    @TableField(exist = false)
    private Long Number = 0L;
}
